package com.xingchi.tornado.storage.core.service.impl;

import com.xingchi.tornado.storage.core.model.domain.UserFileRelDO;
import com.xingchi.tornado.storage.core.model.dto.UserFileRelDTO;
import com.xingchi.tornado.storage.core.model.dto.UserFileRelQueryDTO;
import com.xingchi.tornado.storage.core.mapper.UserFileRelMapper;
import com.xingchi.tornado.storage.core.service.UserFileRelService;
import com.xingchi.tornado.mybatisplus.service.AbstractBasePlusService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;

import java.util.Objects;

/**
 * <p>
 * 用户文件关联表 服务实现类
 * </p>
 *
 * @author xingchi
 * @date 2024-05-04 20:02
 */
@Service
public class UserFileRelServiceImpl extends AbstractBasePlusService<UserFileRelMapper, UserFileRelDTO, UserFileRelQueryDTO, UserFileRelDO> implements UserFileRelService {
    @Override
    public Wrapper<UserFileRelDO> getWrapper(UserFileRelQueryDTO query) {
        return Wrappers.<UserFileRelDO>lambdaQuery()
                .eq(StringUtils.isNotBlank(query.getSha256()), UserFileRelDO::getSha256, query.getSha256())
                .eq(StringUtils.isNotBlank(query.getPath()), UserFileRelDO::getPath, query.getPath())
                .eq(Objects.nonNull(query.getUserId()), UserFileRelDO::getUserId, query.getUserId())
                .eq(Objects.nonNull(query.getFileId()), UserFileRelDO::getFileId, query.getFileId());
    }
}
